#!/usr/bin/env python
#-*- coding:utf-8 -*-

from io import StringIO
import os

#文件辅助类
class file(object):
    
    #读取文件内容
    @staticmethod
    def read(filepath):
        if filepath=='' or not file.isExists(filepath):
            return ''
        with open(filepath,'r') as f:
            return f.read()
    
    #判断文件或目录是否存在
    @staticmethod
    def isExists(filepath):
       return os.path.exists(filepath)
    

    #读取文件为二进制（用于图片等媒体）
    @staticmethod
    def readToByte(filepath):
        if filepath=='' or  not file.isExists(filepath):
            return ''
        with open(filepath,'rb') as f:
            return f.read()
    

    #按字符编码读取文件内容
    @staticmethod
    def readByEncoding(filepath,encoding='utf-8'):
        if filepath=='' or not file.isExists(filepath):
            return ''
        with open(filepath,'r',encoding=encoding) as f:
            return f.read()
    
    #写入数据到文件
    @staticmethod
    def write(filepath,content):
        #判断文件是否存在，不存在则创建，并写入内容
        if filepath=='' or not file.isExists(filepath):
            with open(filepath,'w') as f:
                f.write(content)
        #文件不存在，则追加内容
        else:
            with open(filepath,'a') as f:
                f.write(content)
    
    @staticmethod
    def writeByte(filepath,content):
        
        with open(filepath,'wb') as f:
                f.write(content)

    #创建文件夹
    @staticmethod
    def create(dir):
        os.mkdir(dir)

    #获取当前目录的绝对路径
    @staticmethod
    def getabspath():
        return os.path.abspath('.')
    
    #组合路径
    @staticmethod
    def pathjoin(filepath,filename):
        return os.path.join(filepath,filename)
    
    
    #删除目录
    @staticmethod
    def delDir(dir):
        os.rmdir(dir)
    
    #删除文件
    @staticmethod
    def delFile(filepath):
        os.remove(filepath)
    
    #重命名
    @staticmethod
    def rename(old,new):
        os.rename(old,new)





